<?php
namespace app\admin\model;
use think\Model;
use think\Session;
class Admin extends Model{
  public function salt(){
    return $salt="123456";
  }
  public function addAdmin($data){
    //判断$data是否为空,或者是不是数据
    if(empty($data) || !is_array($data)){
      return false;
    }
    $salt=$this->salt();
    // dump($salt);die;
    //判断如果有password就md5加密一下
    if($data['password']){
      $data['password']= md5($data['password'].$salt);
    }

    $rs=$this->save($data);//谁调用this指的就是谁 把$data存入数据库
    if($rs){
      return true;  //这里必需返回true 控制器里才能走success()里的添加成功
    }else{
      return false;
    }
    // dump($res);die;
  }
  //分页样式
  public function getAdmin(){
    return   $this::paginate(5,false,[
      'type'      => 'boothaima',
      'var_page'  => 'page',
    ]);
  }

  //edit
  public function edit($id){ //接收admin控制器传来的用户id
    $adminInfo=$this->find($id);  //从库里查收这个id的用户信息
    // dump($adminInfo);die;
    if (!$adminInfo) { //如果查不到就返回false给admin.php控制器
      return false;
    }else{
      return $adminInfo;  //否则把结果返回给admin.php控制器
    }
  }
  public function editPost($data,$adminInfo){  //接收控制器里传来的数据
    // dump($data['name']);die;
    if (empty($data['name'])) {
      return 0; //用户名为空给控制器返回0
    }else{
        $salt=$this->salt();
        //决断提交的密码为空时,就把数据库里的密码赋值给它,否则就加密码一下再赋值给数组
        if (!$data['password']) {
          $data['password']=$adminInfo['password'];
        }else{
          $data['password']=md5($data['password'].$salt);
        }
        // dump($data);die;
        //用接收到的表单里的数据修改库里的用户信息,$data里的字段要和库里的字段一样,特别是要有用户id
        // $res=$this->update(['id' => $data['id'], 'name' => $data['name'],'password' => $data['password']]);
        $res=$this->update($data);
        if ($res) {
          return 1;//修改成功返回1
        }else{
          return 2;//修改失败返回2
        }
    }
  }


  //删除
  public function del($id){ //接收传来的id
    $res=$this->where('id',$id)->delete();//执行删除操作
    //判断成功返回true / 1 或者 false / 0,
    if($res){
      return 1;
    }else{
      return 0;
    }
  }

  /**
  *后台登陆
  *
  */
  public function login($data){
    if (!$data['name'] || !$data['password'] ){
      return 0; //用户名或密码为空返回0 控制器里断码时要加引号
    }
    //查询用户是否存在
    $userInfo = $this->get(['name' => $data['name']]);
    if (!$userInfo ) {
      return 1; //如果查不到用户,返回字符串1 控制器里判断时要加引号
    }
    $salt=$this->salt();
    if(md5($data['password'].$salt)!==$userInfo['password']){
      return 2; //如果表单提交的密码md5加密后不等于数据库里的密码返回2 控制器里断码时要加引号
    }else{
      //用户名和密码验证成功后就存入session 并返回3
      session('id',$userInfo['id']);
      session('name',$userInfo['name']);
      return 3;
    }

  }

  //用户退出
  public function logOut(){
    session('name',null);
    session('id',null);
    return 1; //成功退出返回1
  }





}



 ?>
